//-----------------------------------------------------------------------
// <copyright file="LearnerActivity.cs" company="Procure Development">
//     Copyright (c) Procure Development. All rights reserved.
// </copyright>
// <author>Victor Procure</author>
//-----------------------------------------------------------------------

using System;
using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;

namespace SManagement.Models
{
    /// <summary>
    /// The work assigned to a learner and/or performed by a learner which can
    /// comprise of interaction with learning resources, and assessments.
    /// </summary>
    public class LearnerActivity
    {
        #region Instance Properties

        [BsonId]
        public ObjectId _id { get; set; }

        public ObjectId PersonId { get; set; }

        public ObjectId? AssessmentRegistrationId { get; set; }

        public ObjectId? CourseSectionId { get; set; }

        public ObjectId? OrganizationCalendarSessionId { get; set; }

        public string Title { get; set; }

        public string Description { get; set; }

        public string Prerequisite { get; set; }

        public ObjectId? RefLearnerActivityTypeId { get; set; }

        public string RubricUrl { get; set; }

        public DateTime? CreationDate { get; set; }

        public decimal? MaximumTimeAllowed { get; set; }

        public ObjectId? RefLearnerActivityMaximumTimeAllowedUnitsId { get; set; }

        public DateTime? DueDate { get; set; }

        public TimeSpan? DueTime { get; set; }

        public decimal? MaximumAttemptsAllowed { get; set; }

        public ObjectId? RefLearnerActivityAddToGradeBookFlagId { get; set; }

        public DateTime? ReleaseDate { get; set; }

        public decimal? Weight { get; set; }

        public decimal? PossiblePoints { get; set; }

        public ObjectId? RefLanguageId { get; set; }

        public ObjectId? AssignedByPersonId { get; set; }

        public ObjectId? SchoolOrganizationId { get; set; }

        public ObjectId? LeaOrganizationId { get; set; }

        #endregion Instance Properties
}

}